System and method for computing motor speed and rotor position using hall sensor

ABSTRACT

A method and system for computing a motor speed and a rotor position using a hall sensor are provided. The method improves precision for computing the speed of the motor rotating at a high speed and the rotor position using the hall sensor based on configurations, such as the hall sensor mounted in the motor as a position sensor, a motor controller configured to receive a signal of the hall sensor to operate the motor, and a microcomputer configured to store a time when the motor controller senses the timing of a change in the signal of the hall sensor.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims under 35 U.S.C. §119(a) the benefit of Korean Patent Application No. 10-2014-0128036 filed on Sep. 25, 2014, the entire contents of which are incorporated herein by reference.

BACKGROUND

(a) Technical Field

The present disclosure relates to a system and method for computing a motor speed and a rotor position using a hall sensor. More particularly, it relates to a method for computing a motor speed and a rotor position using a hall sensor, to enhance precision for computing the speed of the motor rotating at a high speed and a rotor position of the motor using the hall sensor.

(b) Background Art

Environmentally-friendly vehicles such as a fuel cell vehicle, an electric vehicle, a hybrid vehicle, and a plug-in electric vehicle include a plurality of motors for generating power and driving a vehicle and a hall sensor for detecting revolutions per minute (RPM) of each motor to more precisely control driving of the motors.

The hall sensors are mounted at predetermined angle intervals at a predetermined position of each motor and each hall sensor may be configured to generate on or off digital signals based on a rotation of a rotor of the motor to output position information of the rotor and perform a series of motor driving controls (e.g., computation of a motor speed, and the like) based on the position information. In particular, the typical method for computing a motor speed using a hall sensor will be described with reference to the accompanying FIGS. 1 and 2. A motor controller is configured to determine a time until the signal of the hall sensor is changed from high to low or from low to high, at a predetermined time interval, which is referred to as T_(c).

Referring to FIG. 1, for example, when the change in the signal of the hall sensor is sensed at only m-th, the time when the signal is sensed becomes mT_(c) and the motor speed is computed by the following Equation 1.

$\begin{matrix} {{\; \left( {{Motor}\mspace{14mu} {Speed}} \right)} = {\frac{1}{N \times m \times T_{c}}\left\lbrack {{rev}/s} \right\rbrack}} & {{Equation}\mspace{14mu} 1} \end{matrix}$

In the above Equation 1, m represents a period of change in the signal of the hall sensor, that is, the time until the signal of the hall sensor is changed from high to low or from low to high, T_(c) represents the predetermined time interval for confirming the signal of the hall sensor, and N represents the number of poles of the motor.

However, the typical method for computing a motor speed using a hall sensor has the following problems.

First, errors may occur during the calculation of the motor speed and the rotor position. As illustrated in FIG. 1, an error of ΔT₁−ΔT₂ occurs between a time T_(real) when a sensing value of the hall sensor is actually changed and a measured time mT_(c) as in the following Equation 2, such that errors occur in the computation of the motor speed.

T _(real) =mT _(c) +ΔT ₁ −ΔT ₂

T _(real) −mT _(c) =ΔT ₁ −ΔT ₂   Equation 2

Further, a position value of the rotor is confirmed based on a timing when the sensing value of the hall sensor is changed from low to high as in timing {circle around (1)} of FIG. 1. However, at the timing {circle around (1)}, there occurs a time error called ΔT₁ between the time when the sensing value of the hall sensor is actually changed and the time when the controller senses the change in the sensing value of the hall sensor and similarly, a time error called ΔT₂ occurs even at a time {circle around (2)} of FIG. 1, such that errors occur during the calculation of the rotor position.

Second, the following problems may occur due to the occurrence of errors during the calculation of the motor speed and the rotor position.

1) The computation errors of the motor speed may cause errors of a measurement value of a feedback speed used in a speed controller among configurations of the motor controller illustrated in FIG. 2, and thus an output current command value of the speed controller may fluctuate.

2) The computation errors of the rotor position may cause errors of the position value of the rotor used in a current controller, and therefore a ripple may occur in a current supplied to a 3-phase motor, such that the speed control may be unstable.

3) The instability of motor speed and current control may occur and control efficiency of the motor and the inverter may be degraded, due to the occurrence of errors during the computation of the motor speed and the rotor position, and heat generation of the motor may be promoted due to the degradation of the motor efficiency, and thus cooling performance may also be degraded.

Third, as the time interval T_(c) confirming the signal of the hall sensor decreases, the computation errors of the motor speed and the rotor position may be reduced, but a computation load of a CPU of the motor controller may be increased.

Generally, since the motor controller uses a switching frequency from several kHz to tens of kHz, the motor controller is configured to perform a complex computation involved in the motor control for a time of about 100 μs to determine a pulse width modulation (PWM) duty, and therefore the computation load is substantial. Therefore, it may be impossible to make the signal confirming period of the hall sensor infinitely short due to restrictions of the computation load of the motor controller.

Fourth, considering that the rotation speed of the motor used in a compressor for air supply of the fuel cell vehicle is increased as specifications of air supply pressure are increased, such that the motor is driven from tens of hundreds of RPM to hundreds of thousands of RPM, the occurrence of errors during the calculation of the motor speed and the rotor position using the hall sensor may cause the degradation in fuel efficiency and power performance of a fuel cell vehicle.

Meanwhile, to more accurately compute the motor speed and the rotor position, instead of the hall sensor, a resolver sensor may be used, but the resolver sensor is more expensive than the hall sensor and has a disadvantage in terms of a package for mounting the resolver sensor and thus is rarely used for other components other than a driving motor of the fuel cell vehicle.

The above information disclosed in this section is merely for enhancement of understanding of the background of the invention and therefore it may contain information that does not form the prior art that is already known in this country to a person of ordinary skill in the art.

SUMMARY

The present invention provides a system and method for computing a motor speed and a rotor position using a hall sensor, to improve precision for computing the speed of the motor rotating at a substantially high speed and the rotor position using the hall sensor based on configurations, such as the hall sensor mounted within the motor as a position sensor, a motor controller configured to receive a signal of the hall sensor to operate the motor, and a microcomputer configured to store a time when the motor controller senses the timing of a change in the signal of the hall sensor.

In one aspect, the present invention provides a method for computing a motor speed and a rotor position using a hall sensor that may include: determining whether a signal value of the hall sensor is changed; calculating a time T_(current) when a computation for determining a PWM switching duty starts and a time T_(Hall) at a point at which the signal value of the hall sensor is changed by reading an internal clock counter value of a central processing unit (CPU) disposed within an inverter controller, when the signal value of the hall sensor is changed; calculating a motor speed ω_(r) based on the time information T_(Hall) when a signal value of the hall sensor is changed at a previous time which is closest to a current time and time information T_(Hall) _(_) _(old) which represents the old T_(Hall) value; and calculting a rotor position based on a time difference ΔT between the T_(Current) and the T_(Hall).

In an exemplary embodiment, the calculation of the current time may be performed when the computation for determining the PWM switching duty starts between the timing when the signal value of the hall sensor is changed and the timing when a next signal value of the hall sensor is changed. In addition, a microcomputer disposed within the inverter controller may be configured to generate an event triggered by a change in the signal of the hall sensor prior to the signal value determination process and the internal clock counter value of the CPU may be automatically recorded in a specific memory of the microcomputer as a value for measuring the T_(Hall) at the point at which the signal value of the hall sensor is changed, based on the generated event.

By the above configuration, the present invention has the following effects.

First, it may be possible to more accurately compute the speed of the motor rotating at a high speed using the hall sensor.

Second, it may be possible to improve control efficiency of the motor by more accurately computing the rotor position of the motor using the hall sensor.

Third, it may be possible to realize cost saving by more precisely computing the rotor position and measuring the motor speed while using an inexpensive hall sensor as compared to using an expensive resolver.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other features of the present invention will now be described in detail with reference to exemplary embodiments thereof illustrated in the accompanying drawings which are given hereinbelow by way of illustration only, and thus are not limitative of the present invention, and wherein:

FIG. 1 is an exemplary diagram illustrating a method for measuring a motor speed using a hall sensor according to the related art;

FIG. 2 is an exemplary diagram illustrating a motor controller including a speed controller and a current controller according to the related art;

FIG. 3 is an exemplary configuration diagram illustrating a method for computing a motor speed and a rotor position using a hall sensor according to an exemplary embodiment of the present invention;

FIG. 4 is an exemplary diagram illustrating an example of a 3-phase switching circuit within an inverter controller according to an exemplary embodiment of the present invention;

FIG. 5 is an exemplary diagram illustrating the method for computing a motor speed and a rotor position using a hall sensor according to an exemplary embodiment of the present invention;

FIG. 6 is an exemplary flow chart illustrating the method for computing a motor speed and a rotor position using a hall sensor according to the exemplary embodiment of the present invention;

FIGS. 7 and 8 are exemplary diagrams illustrating an example of a change in a signal value of the hall sensor based on a mounting position of the hall sensor and the rotor position according to an exemplary embodiment of the present invention; and

FIGS. 9 and 10 are exemplary graphs illustrating a comparison of results of experimental examples of the method for computing a motor speed and a rotor position using a hall sensor according to the exemplary embodiment of the present invention with the existing method.

It should be understood that the appended drawings are not necessarily to scale, presenting a somewhat simplified representation of various exemplary features illustrative of the basic principles of the invention. The specific design features of the present invention as disclosed herein, including, for example, specific dimensions, orientations, locations, and shapes will be determined in part by the particular intended application and use environment. In the figures, reference numbers refer to the same or equivalent parts of the present invention throughout the several figures of the drawing.

DETAILED DESCRIPTION

It is understood that the term “vehicle” or “vehicular” or other similar term as used herein is inclusive of motor vehicles in general such as passenger automobiles including sports utility vehicles (SUV), buses, trucks, various commercial vehicles, watercraft including a variety of boats and ships, aircraft, and the like, and includes hybrid vehicles, electric vehicles, plug-in hybrid electric vehicles, hydrogen-powered vehicles and other alternative fuel vehicles (e.g. fuels derived from resources other than petroleum). As referred to herein, a hybrid vehicle is a vehicle that has two or more sources of power, for example both gasoline-powered and electric-powered vehicles.

Although exemplary embodiment is described as using a plurality of units to perform the exemplary process, it is understood that the exemplary processes may also be performed by one or plurality of modules. Additionally, it is understood that the term controller/control unit refers to a hardware device that includes a memory and a processor. The memory is configured to store the modules and the processor is specifically configured to execute said modules to perform one or more processes which are described further below.

Furthermore, control logic of the present invention may be embodied as non-transitory computer readable media on a computer readable medium containing executable program instructions executed by a processor, controller/control unit or the like. Examples of the computer readable mediums include, but are not limited to, ROM, RAM, compact disc (CD)-ROMs, magnetic tapes, floppy disks, flash drives, smart cards and optical data storage devices. The computer readable recording medium can also be distributed in network coupled computer systems so that the computer readable media is stored and executed in a distributed fashion, e.g., by a telematics server or a Controller Area Network (CAN).

The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items.

Unless specifically stated or obvious from context, as used herein, the term “about” is understood as within a range of normal tolerance in the art, for example within 2 standard deviations of the mean. “About” can be understood as within 10%, 9%, 8%, 7%, 6%, 5%, 4%, 3%, 2%, 1%, 0.5%, 0.1%, 0.05%, or 0.01% of the stated value. Unless otherwise clear from the context, all numerical values provided herein are modified by the term “about.”

Hereinafter reference will now be made in detail to various exemplary embodiments of the present invention, examples of which are illustrated in the accompanying drawings and described below. While the invention will be described in conjunction with exemplary embodiments, it will be understood that present description is not intended to limit the invention to those exemplary embodiments. On the contrary, the invention is intended to cover not only the exemplary embodiments, but also various alternatives, modifications, equivalents and other embodiments, which may be included within the spirit and scope of the invention as defined by the appended claims.

Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. FIG. 3 is an exemplary configuration diagram illustrating a method for computing a motor speed and a rotor position using a hall sensor according to an exemplary embodiment of the present invention.

FIG. 3 illustrates an exemplary configuration of the method for computing a motor speed and a rotor position using a hall sensor according to an exemplary embodiment of the present invention, in which the configuration may include a hall sensor mounted within the motor as a position sensor, an inverter controller (e.g., a motor controller) configured to receive a signal of the hall sensor to operate the motor, a microcomputer within the inverter controller connected to the hall sensor via a 3-phase signal line to sense a change in a signal of the hall sensor, and the like.

As illustrated in FIG. 4, the inverter controller may include a 3-phase switching circuit configured to adjust a 3-phase output and perform a PWM duty control on six switches S1 to S6 within the 3-phase switching circuit based on a frequency of several kHz to tens of kHz to perform a current control for operating a motor output.

The inverter controller may be configured to execute various computations (e.g., computing a rotor position and a motor speed, sensing a 3-phase current, adjusting a current, determining a next 3-phase voltage output value, and determining a next PWM duty, and the like) required to determine the PWM duty at each update period T_(PWM) of the PWM duty determined by a switching frequency of the 3-phase switching circuit. In particular, for the current controller disposed within the inverter controller to more accurately control a current, further information is required regarding the accurate rotor position and motor speed at each PWM duty period. The method for computing a motor speed and a rotor position using a hall sensor according to the exemplary embodiment of the present invention having the above configuration will be described below in detail.

FIG. 5 is an exemplary diagram illustrating the method for measuring a motor speed using a hall sensor according to the exemplary embodiment of the present invention. In particular, references {circle around (3)} and {circle around (4)} illustrated in FIG. 5 represent a time when the computation of the current controller for determining the PWM duty in the next step starts, and a time between {circle around (1)} and {circle around (2)} represents a time T_(Hall) _(_) _(update) required for a signal value of the hall sensor to be changed.

According to the exemplary embodiment of the present invention, when the signal value of the hall sensor is changed as in {circle around (1)} or {circle around (2)} illustrated in FIG. 5, the microcomputer (e.g., the controller) may be configured to generate an event triggered by the change in the signal of the hall sensor, and an internal clock counter value of the CPU configured to measure time information when the signal value of the hall sensor is changed, that is, a time T_(Hall) at a point at which the signal value of the hall sensor is changed, based on the generated event, may be automatically recorded in a specific memory of the microcomputer.

As the internal clock counter value of the CPU for measuring the time information T_(hall) when the signal value of the hall sensor is changed is automatically recorded in a specific memory of the microcomputer, it may be possible to more accurately determine the time information when the signal value of the hall sensor is changed, unlike the related art.

Similar to a timing {circle around (4)} illustrated in FIG. 5, when the signal value of the hall sensor is changed after a computation timing {circle around (3)} just before the timing {circle around (4)}, the time information at the timing {circle around (4)}, that is, a time T_(current) when the computation for determining the PWM switching duty starts may be determined by reading the internal clock counter value of the CPU. During the calculation at the timing {circle around (4)}, the rotation speed of the motor may be computed based on the time information T_(Hall) when a signal value of the hall sensor is changed at a previous time which is closest to a current time and the time information T_(Hall) _(_) _(old) which represents the old T_(Hall) value and the more accurate rotor position information at the timing {circle around (4)} may be computed based on a time difference ΔT between the T_(Current) and the T_(Hall).

For reference, the CPU clock counter may have a time resolution as much as performance of the CPU. In particular, since the CPU used for a motor control holds performance of at least several kHz or greater, a time computation may be performed at a resolution of about 100 ns or greater, and thus the speed of the motor rotating at hundreds of thousands of rpm or greater and the rotor position may also be more accurately computed. One exemplary embodiment of the method for computing a motor speed and a rotor position using a hall sensor according to the present invention will be described with reference to FIGS. 5 and 6.

As described above, the microcomputer may be configured to generate the event triggered by the change in the signal value of the hall sensor, and whether a next signal value of the hall sensor is changed may be determined when the internal clock counter value of the CPU for measuring the time information when the signal value of the hall sensor is changed, that is, the time T_(Hall) at the point at which the signal value of the hall sensor is changed, based on the generated event may be automatically recorded in the specific memory of the microcomputer (S101). For example, as illustrated in FIG. 5, in response to determining whether the next signal value of the hall sensor is changed when the internal clock counter value of the CPU is automatically recorded at the timing {circle around (1)}, the timing {circle around (2)} may be a timing when the next signal value of the hall sensor is changed.

In particular, when the information regarding the more accurate rotor position and motor speed is measured at each PWM duty period, when, similar to the timing {circle around (2)} between the PWM duty periods between {circle around (3)} and {circle around (4)} of FIG. 5, the timing when the signal of the hall sensor is changed is present, the computation of the motor speed and the rotor position at the timing {circle around (3)} may be the same as computation at the timing {circle around (1)} and the computation of the motor speed and the rotor position at the timing {circle around (4)} after the timing {circle around (2)} which is the timing when the signal of the hall sensor is changed may be newly performed.

Accordingly, when the signal value of the hall sensor is changed before the timing {circle around (4)} and after the timing {circle around (3)} which are illustrated in FIG. 5, to compute the motor speed and the rotor position at the timing {circle around (4)}, the time information at the timing {circle around (4)}, that is, the time T_(current) when the computation for determining the PWM switching duty starts may be computed based on the following Equation 3 by reading the internal clock counter value of the CPU, and the time T_(Hall) at the point at which the signal value of the hall sensor is changed may also be computed based on the following Equation 4 by reading the internal clock counter value of the CPU (S102).

T _(Current)=CPU Clock Counter×ΔT _(CPU)

In the above Equation 3, a CPU clock counter represents a CPU internal clock counter to find out timing when an operation to determine a PWM switching duty starts, and ΔT_(CPU) represents a time when the CPU clock counter is increased by one.

T _(Hall) =T _(Hall) _(_) _(count) ×ΔT _(CPU)

In the above Equation 4, T_(Hall) _(_) _(count) represents the internal clock counter value of the CPU which is automatically stored in the specific memory of the microcomputer, as the time information, based on the event, when the signal value of the hall sensor is changed, as described above, and the ΔT_(CPU) represents the time when the CPU clock counter is increased by one.

Furthermore, the calculation of the motor speed and the rotor position at a specific timing after the signal value of the hall sensor is changed, for example, the timing {circle around (4)} may be sequentially progressed (S103 and S104). The motor speed ω_(r) may be computed based on the time information T_(Hall) when the signal value of the hall sensor is changed at a previous time which is closest to a current time and the time information T_(Hall) _(_) _(old) which represents the old T_(Hall) value. The motor speed may be computed at the timing (e.g., the timing {circle around (4)} in FIG. 5) when the computation for determining the PWM switching duty starts between the timing when the signal value of the hall sensor is changed and the timing when a next signal value of the hall sensor is changed.

For example, as illustrated in FIG. 5, at the time of computing the motor speed at the timing {circle around (4)}, the motor speed may be computed based on the following Equation 5 using the time information T_(Hall) when the signal value of the hall sensor is changed at a previous time which is closest to a current time and the time information T_(Hall) _(_) _(old) which represents the old T_(Hall) value.

$\begin{matrix} {\omega_{r} = \frac{1}{N \times T_{{Hall}\_ {update}}}} & {{Equation}\mspace{14mu} 5} \end{matrix}$

In the above Equation 5, T_(Hall) _(_) _(update) represents the difference between the time T_(Hall) when the previous signal value of the hall sensor is changed and the time T_(Hall) _(_) _(old) when the signal value of the hall sensor following the previous signal value is changed, that is, the time required for the signal value of the hall sensor to be changed, and N represents the number of poles of the motor.

A rotor position θ of the motor may be computed based on the following Equation 6 using the time difference ΔT between T_(Current) and T_(Hall). Similarly, the rotor position of the motor may be computed at a specific timing (e.g., the timing {circle around (4)} in FIG. 5) when the PWM switching duty is present between the timing when the signal value of the hall sensor is changed and the timing when the next signal value of the hall sensor is changed.

$\begin{matrix} {\theta = {\theta_{Hall} + {\frac{180}{TT}\omega_{r}\mspace{11mu} \Delta \; T}}} & {{Equation}\mspace{14mu} 6} \end{matrix}$

In the above Equation 6, θ_(Hall) represents an electrical position (angle) when a positon of the hall sensor determined by a position of a motor where the hall sensor is physically mounted is changed, and ΔT represents the time difference between T_(Current) and T_(Hall). When the computation of the motor speed and the rotor position ends, T_(Hall) may be stored as T_(Hall) _(_) _(old) and θ may be stored as θ_(Hall) (S105), which may be used to compute the motor speed and the rotor position during the calculation used to determine the next PWM switching duty. In particular, when there is no change in the signal of the hall sensor, the computation of the rotor position may be computed to meet the PWM period T_(PWM) (S106).

Meanwhile, for the system in which the change in the motor speed is severe, the motor speed may be rapidly updated. Referring to FIGS. 7 and 8, for general calculation of the rotor position and the motor speed using the hall sensor, since three hall sensors may be installed in the motor at an interval of about 120°, the change in the signal value of the hall sensor may be sensed at an interval of about 60° when three hall sensors are combined. Therefore, for storing the CPU clock counter information and computing the motor speed whenever the signal value of the hall sensor is changed at an interval of about 60° like the above-mentioned method, a speed value reflecting closer to the current speed may be computed.

A substantially low signal and a substantially high signal of the hall sensor appear at a more accurate interval of about 180°, but may have an error of 180°±α due to a manufacturing error of the motor, and therefore errors may occur even during the calculation of the motor speed and the rotor position. Therefore, when the motor is driven at a substantially constant speed and thus no high-speed update is required, to more accurately compute the motor speed and the rotor position, the computation may be continuously performed at one of the timings when the signal of the hall sensor is changed to the low-high and the timing when the signal of the hall sensor is changed to the high-low.

The result, which may be obtained by comparing and measuring the precision of the speed control when the motor is operated at the high-speed substantially constant speed and the 3-phase current when the motor is operated at the high-speed substantially constant speed when the method for computing a motor speed and a rotor position using a hall sensor according to the present invention is applied with when the method for computing a motor speed and a rotor position using a hall sensor according to the related art is applied, is illustrated in FIGS. 8 and 9.

As illustrated in FIG. 9, it may be appreciated that the speed measurement value according to the present invention is more precise by substantially reducing the error rate compared with the related art. As illustrated in FIG. 10, it may be appreciated that the present invention may reduce the 3-phase current control ripple to about 90% or greater.

The invention has been described in detail with reference to exemplary embodiments thereof. However, it will be appreciated by those skilled in the art that changes may be made in these exemplary embodiments without departing from the principles and spirit of the invention, the scope of which is defined in the appended claims and their equivalents. 

What is claimed is:
 1. A method for computing a motor speed and a rotor position using a hall sensor, comprising: determining, by a controller, whether a signal value of the hall sensor is changed; computing, by the controller, a time T_(current) when a computation for determining a pulse width modulation (PWM) switching duty starts and a time T_(Hall) at a point at which the signal value of the hall sensor is changed by reading an internal clock counter value of a central processing unit (CPU), when the signal value of the hall sensor is changed; computing, by the controller, a motor speed ω_(r) based on the time information T_(Hall) when a signal value of the hall sensor is changed at a previous time which is closest to a current time and time information T_(Hall) _(_) _(old) which represents the old T_(Hall) value; and computing, by the controller, a rotor position based on a time difference ΔT between the T_(Current) and the T_(Hall).
 2. The method of claim 1, wherein the hall sensor is mounted within the motor as a position sensor, the controller is configured to receive a signal of the hall sensor to operate the motor, and a microcomputer is configured store a time when the controller senses the timing of a change in the signal of the hall sensor.
 3. The method of claim 1, wherein the time computation for determining the start of the PWM switching duty is performed when the computation for determining the PWM switching duty starts between the timing when the signal value of the hall sensor is changed and the timing when a next signal value of the hall sensor is changed.
 4. The method of claim 1, further comprising: generating, by the controller, an event triggered by a change in the signal of the hall, and the internal clock counter value of the CPU is automatically recorded in a specific memory of the controller as a value for measuring the T_(Hall) at the point at which the signal value of the hall sensor is changed, based on the generated event.
 5. The method of claim 1, wherein the time T_(current) when the computation for determining the PWM switching duty starts is computed based on T_(Current)=CPU Clock Counter×ΔT_(CPU) by reading the internal clock counter value of the CPU, wherein, a CPU clock counter represents a CPU internal clock counter to determine timing when an operation to determine a PWM switching duty starts, and ΔT_(CPU) represents a time when the CPU clock counter is increased by one.
 6. The method of claim 1, wherein the time T_(Hall) at the point at which the signal value of the hall sensor is changed is computed based on T_(Hall)=T_(Hall) _(_) _(count)×ΔT_(CPU) by reading the internal clock counter value of the CPU, wherein, T_(Hall) _(_) _(count) represents the internal clock counter value of the CPU which is automatically stored in the specific memory of the controller, as the time information when the signal value of the hall sensor is changed, and the ΔT_(CPU) represents the time when the CPU clock counter is increased by one.
 7. The method of claim 1, wherein the motor speed ω_(r) is computed based on $\omega_{r} = \frac{1}{N \times T_{{Hall}\_ {update}}}$ at the timing when the computation for determining the PWM switching duty between the timing when the signal value of the hall sensor is changed and the timing when a next signal value of the hall sensor is changed is performed, wherein, T_(Hall) _(_) _(update) represents the difference between the time T_(Hall) when a signal value of the hall sensor is changed at a previous time which is closest to a current time, the time T_(Hall) _(_) _(old) which represents the time required for the signal value of the hall sensor to be changed, and N represents the number of poles of the motor.
 8. The method of claim 1, wherein the rotor position of the motor is computed based on $\theta = {\theta_{Hall} + {\frac{180}{TT}\omega_{r}\mspace{11mu} \Delta \; T}}$ at the timing when the computation for determining the PWM switching duty between the timing when the signal value of the hall sensor is changed and the timing when a next signal value of the hall sensor is changed is performed, wherein, θ_(Hall) represents an electrical position when a positon of the hall sensor determined by a position of a motor where the hall sensor is physically mounted is changed, and ΔT represents the time difference between T_(Current) and T_(Hall).
 9. A system for computing a motor speed and a rotor position using a hall sensor, comprising: a memory configured to store program instructions; and a processor configured to execute the program instructions, the program instructions when executed configured to: determine whether a signal value of the hall sensor is changed; compute a time T_(current) when a computation for determining a pulse width modulation (PWM) switching duty starts and a time T_(Hall) at a point at which the signal value of the hall sensor is changed by reading an internal clock counter value of a central processing unit (CPU), when the signal value of the hall sensor is changed; compute a motor speed ω_(r) based on the time information T_(Hall) when a signal value of the hall sensor is changed at a previous time which is closest to a current time and time information T_(Hall) _(_) _(old) which represents the old T_(Hall) value; and compute a rotor position based on a time difference ΔT between the T_(Current) and the T_(Hall).
 10. The system of claim 9, wherein the time computation for determining the start of the PWM switching duty is performed when the computation for determining the PWM switching duty starts between the timing when the signal value of the hall sensor is changed and the timing when a next signal value of the hall sensor is changed.
 11. The system of claim 9, wherein the program instructions when executed are further configured to: generate an event triggered by a change in the signal of the hall, and the internal clock counter value of the CPU is automatically recorded in a specific memory of the controller as a value for measuring the T_(Hall) at the point at which the signal value of the hall sensor is changed, based on the generated event.
 12. The system of claim 9, wherein the time T_(current) when the computation for determining the PWM switching duty starts is computed based on T_(Current)=CPU Clock Counter×ΔT_(CPU) by reading the internal clock counter value of the CPU, wherein, a CPU clock counter represents a CPU internal clock counter to determine timing when an operation to determine a PWM switching duty starts, and ΔT_(CPU) represents a time when the CPU clock counter is increased by one.
 13. The system of claim 9, wherein the time T_(Hall) at the point at which the signal value of the hall sensor is changed is computed based on T_(Hall)=T_(Hall) _(_) _(count)×ΔT_(CPU) by reading the internal clock counter value of the CPU, wherein, T_(Hall) _(_) _(count) represents the internal clock counter value of the CPU which is automatically stored in the specific memory of the controller, as the time information when the signal value of the hall sensor is changed, and the ΔT_(CPU) represents the time when the CPU clock counter is increased by one.
 14. The system of claim 9, wherein the motor speed ω_(r) is computed based on $\omega_{r} = \frac{1}{N \times T_{{Hall}\_ {update}}}$ at the timing when the computation for determining the PWM switching duty between the timing when the signal value of the hall sensor is changed and the timing when a next signal value of the hall sensor is changed is performed, wherein, T_(Hall) _(_) _(update) represents the difference between the time T_(Hall) when a signal value of the hall sensor is changed at a previous time which is closest to a current time, the time T_(Hall) _(_) _(old) which represents the time required for the signal value of the hall sensor to be changed, and N represents the number of poles of the motor.
 15. The system of claim 9, wherein the rotor position of the motor is computed based on $\theta = {\theta_{Hall} + {\frac{180}{TT}\omega_{r}\mspace{11mu} \Delta \; T}}$ at the timing when the computation for determining the PWM switching duty between the timing when the signal value of the hall sensor is changed and the timing when a next signal value of the hall sensor is changed is performed, wherein, θ_(Hall) represents an electrical position when a positon of the hall sensor determined by a position of a motor where the hall sensor is physically mounted is changed, and ΔT represents the time difference between T_(Current) and T_(Hall).
 16. A non-transitory computer readable medium containing program instructions executed by a controller, the computer readable medium comprising: program instructions that determine whether a signal value of the hall sensor is changed; program instructions that compute a time T_(current) when a computation for determining a pulse width modulation (PWM) switching duty starts and a time T_(Hall) at a point at which the signal value of the hall sensor is changed by reading an internal clock counter value of a central processing unit (CPU), when the signal value of the hall sensor is changed; program instructions that compute a motor speed ω_(r) based on the time information T_(Hall) when a signal value of the hall sensor is changed at a previous time which is closest to a current time and time information T_(Hall) _(_) _(old) which represents the old T_(Hall) value; and program instructions that compute a rotor position based on a time difference ΔT between the T_(Current) and the T_(Hall).
 17. The non-transitory computer readable medium of claim 16, wherein the time computation for determining the start of the PWM switching duty is performed when the computation for determining the PWM switching duty starts between the timing when the signal value of the hall sensor is changed and the timing when a next signal value of the hall sensor is changed.
 18. The non-transitory computer readable medium of claim 16, further comprising: program instructions that generate an event triggered by a change in the signal of the hall, and the internal clock counter value of the CPU is automatically recorded in a specific memory of the controller as a value for measuring the T_(Hall) at the point at which the signal value of the hall sensor is changed, based on the generated event.
 19. The non-transitory computer readable medium of claim 16, when the computation for determining the PWM switching duty starts is computed based on T_(Current)=CPU Clock Counter×ΔT_(CPU) by reading the internal clock counter value of the CPU, wherein, a CPU clock counter represents a CPU internal clock counter to determine timing when an operation to determine a PWM switching duty starts, and ΔT_(CPU) represents a time when the CPU clock counter is increased by one.
 20. The non-transitory computer readable medium of claim 16, wherein the time T_(Hall) at the point at which the signal value of the hall sensor is changed is computed based on T_(Hall)=T_(Hall) _(_) _(count)×ΔT_(CPU) by reading the internal clock counter value of the CPU, wherein, T_(Hall) _(_) _(count) represents the internal clock counter value of the CPU which is automatically stored in the specific memory of the controller, as the time information when the signal value of the hall sensor is changed, and the ΔT_(CPU) represents the time when the CPU clock counter is increased by one. 